package jp.co.piratealliance.pirateAllianceWeb.dao.order;

import java.util.List;
import java.util.Map;

import jp.co.piratealliance.pirateAllianceWeb.dto.order.EvaluationInfoDto;
import jp.co.piratealliance.pirateAllianceWeb.dto.order.EventInfoDto;
import jp.co.piratealliance.pirateAllianceWeb.dto.order.OrderHisInfoDto;
import jp.co.piratealliance.pirateAllianceWeb.dto.order.OrderInfoDto;
import jp.co.piratealliance.pirateAllianceWeb.dto.order.ScheduleInfoDto;
import jp.co.piratealliance.pirateAllianceWeb.dto.order.ServiceGoodsOrderDetailInfoDto;



/**
 * copyright   pirate alliance team 2014
 * @author     lunxing
 *
 */

public interface OrderDao {

	public List<OrderInfoDto> selectOrdersByUserIdAndGoodsId(Map<String,Object> param);

	public List<ServiceGoodsOrderDetailInfoDto> selectServiceGoodsOrderDetailByOrderId(String param);

	public List<ScheduleInfoDto> selectScheduleByOrderId(String param);

	public List<EventInfoDto> selectEventByScheduleId(String param);

	public List<EventInfoDto> selectEventByOrderId(String param);

	public int insertOrder(OrderInfoDto param);

	public int insertServiceGoodsOrderDetail(ServiceGoodsOrderDetailInfoDto param);

	public int insertSchedule(ScheduleInfoDto param);

	public int insertEvent(EventInfoDto param);

	public int updateOrder(OrderInfoDto param);

	public int updateServiceGoodsOrderDetail(ServiceGoodsOrderDetailInfoDto param);

	public int updateSchedule(ScheduleInfoDto param);

	public int updateEvent(EventInfoDto param);

	public List<OrderHisInfoDto> selectOrderHisPaging(Map<String,Object> param);

	public int deleteScheduleByOrderId(String param);

	public int deleteEventByScheduleId(String param);

	public int deleteEventByOrderId(String param);

	public List<EvaluationInfoDto> selectEvaluationInfoList(String goodsId);

	public Integer selectAverageEvaluation(String goodsId);
}
